package springboot.study.project.service;

import springboot.study.project.dto.StudentDto;
import springboot.study.project.model.Student;

import java.util.Map;

/**
 * @InterfaceName: StudentService
 * @Description: 学生相关接口
 * @Author: liu-hao
 * @Date: 2021-03-28 23:59
 * @Version: 1.0
 **/
public interface StudentService {

    /**
     * 添加学生信息
     *
     * @param student 学生实体
     * @return 是否添加成功给
     */
    boolean addStudentInfo(Student student);

    /**
     * 删除指定学生信息
     *
     * @param stuId 学号
     * @return 是否删除成功
     */
    boolean removeStudentInfoById(String stuId);

    /**
     * 修改指定学生信息
     *
     * @param student 待修改的学生信息
     * @return 是否修改成功
     */
    boolean modifyStuInfo(Student student);

    /**
     * @param stuId
     * @return
     */
    StudentDto getStuInfoById(String stuId);

    /**
     * 获取符合条件的学生列表
     *
     * @param stuId    学号
     * @param stuName  学生姓名
     * @param clazzId  班级编号
     * @param offset   起始索引
     * @param pageSize 每页条数
     * @return 符合条件的学生列表
     */
    Map<String, Object> getStuInfo(String stuId, String stuName, String clazzId, int offset, int pageSize);

    /**
     * 校验学生是否已经存在
     *
     * @param stuId
     * @return
     */
    boolean checkStuIsExisted(String stuId);
}
